package 贪心;

/**
 * @author admin
 * @version 1.0.0
 * @ClassName 根据身高重建队列.java
 * @Description TODO
 * @createTime 2020年10月20日 22:06:00
 *
 *假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示，其中h是这个人的身高，k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。
 *
 * 注意：
 * 总人数少于1100人。
 *
 * 示例
 *
 * 输入:
 * [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]
 *
 * 输出:
 * [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]
 *
 *
 * 将最高的人按照 k 值升序排序，然后将它们放置到输出队列中与 k 值相等的索引位置上。
 * 按降序取下一个高度，同样按 k 值对该身高的人升序排序，然后逐个插入到输出队列中与 k 值相等的索引位置上。
 * 直到完成为止。
 *
 */
public class 根据身高重建队列 {
//    public int[][] reconstructQueue(int[][] people) {

//        Arrays.sort(people, (o1, o2) -> o1[0] == o2[0] ? o1[1] - o2[1] : o2[0] - o1[0]);
//
//        ArrayList<int[]> list = new ArrayList<>();
//        for (int[] i : people) {
//            list.add(i[1], i);
//        }
//
//        return list.toArray(new int[list.size()][2]);
//    }

}
